from abc import ABC, abstractmethod


class yoloDataC(ABC):
    def __init__(self, base_save, num_img):
        self.base_save = base_save
        self.num_img = num_img
        self.spotsBox = None
        self.label_save_path = None
        self.bmp_save_path = None
        self.res_bmp = None

        # self.label_save_path = open(label_save_path, "w")

    @abstractmethod
    def generate_image(self, bmp_type=None):
        pass

    @abstractmethod
    def circle(self):
        pass

    @abstractmethod
    def ring(self):
        pass

    @abstractmethod
    def ringWithCircle(self):
        pass

    @abstractmethod
    def circleMatrix(self):
        pass

    @abstractmethod
    def circleRingMatrix(self):
        pass

    @abstractmethod
    def holes(self):
        pass

    @abstractmethod
    def spots(self, box):
        pass

    @abstractmethod
    def default(self):
        pass
